This work pertains to asynchronous communications among parallel/concurrent processes running in multiprocessing systems. The invention looks ahead to the fast approaching era, when 3 to 5 gigahertz CPUs and gigabyte bandwidth communications would be commonplace, and cost of CPUs would have dramatically decreased. Multiprocessors with 100 to 1000 CPUs might become feasible. A great impediment to their effective use under current technologies would be the cost of communication latencies. In current technology there are two paradigms for communication among parallel or concurrent processes with in a multiprocessor (whether distributed or shared memory):                (i). By conducting synchronization sessions between sending and receiving processes, and using input buffers to hold data/messages until recipients can attend to them. This is very time consuming and can also put a significant drain on available memory and processing resources. This can take as much as 5,000 to 10,000 CPU cycles for point-to-point asynchronous message exchange between two communicating parallel processes.        (ii). Through programmed periodic punctuated synchronous message exchange sessions, in which all the parallel processes are halted in a mutually consistent state, and each process is programmed to exchange data/messages with other processes in a synchronized a prior planned manner, thus eliminating the need for asynchronous communications. This can, however, result in inefficient utilization of available parallel processing resources. Yet, this gives better efficiencies than method (i) above.        
TICC introduces a radically new paradigm; it is a paradigm of asynchronous communications in parallel with computations. TICC defines a Causal Communication programming Language, CCL, which can be freely intermixed with any computation specification language. CCL may be used to specify communications among groups of parallel/concurrent processes. TICC specifies a method for compiling statements in CCL to sequences of protocols, which are executed by a dedicated communications processor, C, in parallel with computations, guaranteeing loss less, self-synchronizing buffer free data exchange among groups of parallel processes via already established TICC pathways.
In addition, TICC provides unprecedented capabilities to dynamically monitor, debug and update parallel programs. There are several other advantages to using TICC. They are explained in this patent disclosure.
TICC was inspired by the communication paradigm, called RESTCLK [Das 1999] that was first introduced by my student Dr. Souripriya Das in 1999, while both of us were in the Computer Science Department of Rutgers, The State University of New Jersey, New Brunswick, N.J. As a doctoral student Dr. S. Das started his research with Prof. B. Gopinath and Prof. Chitoor V. Srinivasan as his doctoral thesis advisers. Prof. B. Gopinath was then professor of Computer Engineering in the Department of Electrical and Computer Engineering at Rutgers. The system concepts of RESTCLK and techniques for their implementation were developed under the guidance of Dr. B. Gopinath When Prof. Gopinath left Rutgers University, sometime in 1996, Dr. S. Das continued his work with Prof. Chitoor V. Srinivasan to complete his doctoral dissertation requirements. During this time Prof. Srinivasan and Dr. Das jointly developed the theoretical framework for RESTCLK, which established the structure and properties of RESTCLK. A proof of concept implementation of RESTCLK was successfully developed and demonstrated by Dr. Das in the summer of 1998. Professor Srinivasan retired from Rutgers University in January 1999.
RESTCLK, as it was defined, could not be efficiently implemented and it did not guarantee loss less message delivery. This made it Impossible to deploy RESTCLK for use in applications. Indeed, Prof. Gopinath abandoned his efforts to patent the ideas in RESTCLK (please see reference in U.S. Pat. No. 5,640,546, to application Ser. No. 08/021,096, filed on Feb. 23, 1993, and abandoned). RESTCLK remained essentially a research tool. The modified communication paradigm, TICC, which executes communication protocols in parallel with computations, overcomes this limitation of RESTCLK. TICC guarantees loss less, buffer less, self-synchronizing asynchronous message delivery with extremely low latencies. TICC now makes it possible to fully exploit on a commercial scale, the dynamic flexibility feature (ability to dynamically monitor, diagnose, repair, reconfigure and update parallel software systems without service interruption), which RESTCLK attempted to bring to object centered application systems.